Real 3D & RPL

di Alessandro Tasora

Fra le caratteristiche salienti della versione 2 di Real 3D vi è senz'altro il linguaggio di programmazione interna, detto RPL, che permette di accedere alle funzioni più recondite di questo modellatore, al fine di personalizzarlo secondo le nostre esigenze, o addirittura di creare nuovi comandi per modellare ed animare oggetti come solo una routine di programmazione può fare.
E' il caso, ad esempio, dell'animazione particellare che vedremo in questa puntata: il software ci fornisce già alcuni metodi di animazione adatti allo scopo, ma noi potremo amplificarne enormemente le possibilità grazie a poche righe di codice. Del resto è impensabile gestire manualmente, senza procedure dedicate, animazioni particellari nelle quali compaiono migliaia di oggetti.

Il linguaggio RPL
Real 3D possiede un linguaggio di programmazione interno estremamente potente, dalla sintassi per molti versi simile a quella del FORTH.
Il FORTH (da non confondersi col Fortran, linguaggio per applicazioni matematico-ingegneristiche) è stato concepito da Charles Moore nel 1968 al National Radio-Astronomy Laboratory, ed è allo stesso tempo compilatore, interprete, macroassembler e sistema operativo: pertanto venne chiamato "forth", dalla contrazione di "fourth generation programming language".
La filosofia di base del Forth consiste nel creare nuovi comandi attingendo da quelli già definiti (il kernel iniziale consiste di poche decine di comandi basilari). In tal modo si amplifica la propria libreria di comandi (detti "words"), procedendo verso l'alto nella definizione di funzioni sempre più complesse, fino al punto in cui il programma desiderato è, in effetti, svolto da una singola "word". Ad esempio nel cassetto RPL/sys/ di Real si possono trovare alcuni vocabolari di comandi già definiti dai programmatori dell'Activa.
Le "words" vengono compilate al momento della definizione, e da quel momento fan parte a tutto titolo del vocabolario del Forth/RPL.
La sintassi di questo linguaggio si basa sull'uso intensivo dello stack: per tale ragione non ha fatto proseliti come i più intuitivi ed user-oriented C, Pascal e Modula 2; ma d'altro canto, come sanno bene i programmatori in linguaggio macchina, questo consente prestazioni velocistiche superiori.
Un ostacolo alla diffusione del Forth presso gli utenti comuni è l'uso della "notazione polacca inversa" (RPN), che è invece apprezzata nelle applicazioni scientifiche, e che fornisce prestazioni elevate in quanto più vicina alla logica del calcolatore.
Ad esempio, sapendo che il comando per stampare un risultato è ". ", ci aspetteremmo che per calcolare una somma si debba scrivere "2 + 5 . ", ottenendo 7. Invece, con notazione RPN, è necessario scrivere "2 5 + . ", ovvero: immetti 2 nello stack, immetti 5, esegui la somma (+) fra i due e mettila nello stack, stampa (. ) il contenuto dello stack, ovvero 7.
Ancora oggi le calcolatrici scientifiche più potenti offrono la possibilità di immettere le formule tramite notazione RPN, in alternativa all'uso delle parentesi.

Questa e' solo una parte dell'articolo pubblicato su Enigma Amiga Run di Gennaio numero 60. E' possibile ricevere l'arretrato chiamando il numero (02)38.01.00.30 tutti i giorni dalle ore 10.00 alle 12.30